package Questions;


import IO.Output;

/**
 * Created with IntelliJ IDEA.
 * Source.UserController: Инесса
 * Date: 10.10.13
 * Time: 23:05
 * To change this template use File | Settings | File Templates.
 */
public class TestQuestion extends AnswerQuestion  {
    private final String[] answers;

    /**
     * Конструктор наследника инициализирует также варианты ответов
     * @param question вопрос
     * @param rightAnswer ответ
     * @param answers   варианты
     */
    public TestQuestion(String question, String rightAnswer, String[] answers) {
        super(question, rightAnswer);
        this.answers = answers;
    }

    /**
     * Выводит вопрос и варианты для пользователя
     */
    @Override
    public void askQuestion() {
        super.askQuestion();
        for (int i = 0; i < answers.length; ++i) {
            Output.printLineMsg((i + 1) + " " + answers[i]);
        }
    }

    /**
     * Сериализация вопроса для хранения сессии
     * @param delimiter разделитель
     * @return строка вопроса и ответа
     */
    @Override
    public String serialize(String delimiter) {
        StringBuilder builder = new StringBuilder(100);
        builder.append(super.serialize(delimiter));
        builder.append(delimiter);
        for (int i = 0; i < answers.length; ++i) {
            builder.append(answers[i]);
            if (i != answers.length - 1) {
                builder.append(delimiter);
            }
        }
        return builder.toString();
    }
}
